package com.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.utils.R;

import java.util.HashMap;
import java.util.Map;

/**
 * 前后端连接测试控制器
 */
@RestController
@RequestMapping("/api-test")
public class ApiTestController {

    /**
     * 基础连接测试接口
     */
    @IgnoreAuth
    @GetMapping("/ping")
    public R ping() {
        return R.ok("连接成功");
    }
    
    /**
     * 获取后端信息
     */
    @IgnoreAuth
    @GetMapping("/info")
    public R getServerInfo() {
        Map<String, Object> info = new HashMap<>();
        info.put("javaVersion", System.getProperty("java.version"));
        info.put("osName", System.getProperty("os.name"));
        info.put("serverTime", System.currentTimeMillis());
        
        return R.ok().put("data", info);
    }
    
    /**
     * 模拟延迟响应
     */
    @IgnoreAuth
    @GetMapping("/delay")
    public R delayResponse() {
        try {
            // 模拟网络延迟或服务器处理时间
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }
        
        return R.ok("延迟响应成功");
    }
    
    /**
     * 模拟错误响应
     */
    @IgnoreAuth
    @GetMapping("/error")
    public R errorResponse() {
        return R.error(500, "这是一个模拟的错误响应");
    }
} 